{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Embedding 与RNN实战IMDB文本分类"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2.0.0\n",
      "sys.version_info(major=3, minor=6, micro=10, releaselevel='final', serial=0)\n",
      "matplotlib 3.1.2\n",
      "numpy 1.18.1\n",
      "pandas 0.25.3\n",
      "sklearn 0.22.1\n",
      "tensorflow 2.0.0\n",
      "tensorflow_core.keras 2.2.4-tf\n"
     ]
    }
   ],
   "source": [
    "import matplotlib as mpl\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "import numpy as np\n",
    "import sklearn\n",
    "import pandas as pd\n",
    "import os\n",
    "import sys\n",
    "import time\n",
    "import tensorflow as tf\n",
    "from tensorflow import keras\n",
    "\n",
    "print(tf.__version__)\n",
    "print(sys.version_info)\n",
    "for module in mpl,np,pd,sklearn,tf,keras:\n",
    "    print(module.__name__,module.__version__)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "1 Physical GPUs, 1 Logical GPUs\n"
     ]
    }
   ],
   "source": [
    "def solve_cudnn_error():\n",
    "    gpus = tf.config.experimental.list_physical_devices('GPU')\n",
    "    if gpus:\n",
    "        try:\n",
    "            # Currently, memory growth needs to be the same across GPUs\n",
    "            for gpu in gpus:\n",
    "                tf.config.experimental.set_memory_growth(gpu, True)\n",
    "            logical_gpus = tf.config.experimental.list_logical_devices('GPU')\n",
    "            print(len(gpus), \"Physical GPUs,\", len(logical_gpus), \"Logical GPUs\")\n",
    "        except RuntimeError as e:\n",
    "            # Memory growth must be set before GPUs have been initialized\n",
    "            print(e)\n",
    "\n",
    "solve_cudnn_error()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 数据读取"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "imdb = keras.datasets.imdb\n",
    "# 词表大小\n",
    "vocab_size = 10000\n",
    "# 从索引多少时构建\n",
    "index_from = 3\n",
    "(train_data, train_labels), (test_data, test_labels) = imdb.load_data(\n",
    "    num_words = vocab_size, index_from = index_from)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "88584\n"
     ]
    }
   ],
   "source": [
    "# 载入词表\n",
    "word_index = imdb.get_word_index()\n",
    "print(len(word_index))\n",
    "# print(word_index)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 索引从3开始，所以词表全部偏移3\n",
    "word_index = {k : (v + 3) for k, v in word_index.items()}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 添加必要的特殊字符\n",
    "word_index['<PAD>'] = 0 # padding填充\n",
    "word_index['<START>'] = 1 # 开始\n",
    "word_index['<UNK>'] = 2 # 找不到时填补\n",
    "word_index['<EOS>'] = 3 # 结束\n",
    "\n",
    "# 构建倒排索引：id到词的索引\n",
    "reverse_word_index = dict([(value, key) for key, value in word_index.items()])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "\"<START> this film was just brilliant casting location scenery story direction everyone's really suited the part they played and you could just imagine being there robert <UNK> is an amazing actor and now the same being director <UNK> father came from the same scottish island as myself so i loved the fact there was a real connection with this film the witty remarks throughout the film were great it was just brilliant so much that i bought the film as soon as it was released for <UNK> and would recommend it to everyone to watch and the fly fishing was amazing really cried at the end it was so sad and you know what they say if you cry at a film it must have been good and this definitely was also <UNK> to the two little boy's that played the <UNK> of norman and paul they were just brilliant children are often left out of the <UNK> list i think because the stars that play them all grown up are such a big profile for the whole film but these children are amazing and should be praised for what they have done don't you think the whole story was so lovely because it was true and was someone's life after all that was shared with us all\""
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 查看train_data具体文本\n",
    "def decode_review(text_ids):\n",
    "    return ' '.join(\n",
    "        [reverse_word_index.get(word_id, '<UNK>') for word_id in text_ids])\n",
    "\n",
    "decode_review(train_data[0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[   1   14   22   16   43  530  973 1622 1385   65  458 4468   66 3941\n",
      "    4  173   36  256    5   25  100   43  838  112   50  670    2    9\n",
      "   35  480  284    5  150    4  172  112  167    2  336  385   39    4\n",
      "  172 4536 1111   17  546   38   13  447    4  192   50   16    6  147\n",
      " 2025   19   14   22    4 1920 4613  469    4   22   71   87   12   16\n",
      "   43  530   38   76   15   13 1247    4   22   17  515   17   12   16\n",
      "  626   18    2    5   62  386   12    8  316    8  106    5    4 2223\n",
      " 5244   16  480   66 3785   33    4  130   12   16   38  619    5   25\n",
      "  124   51   36  135   48   25 1415   33    6   22   12  215   28   77\n",
      "   52    5   14  407   16   82    2    8    4  107  117 5952   15  256\n",
      "    4    2    7 3766    5  723   36   71   43  530  476   26  400  317\n",
      "   46    7    4    2 1029   13  104   88    4  381   15  297   98   32\n",
      " 2071   56   26  141    6  194 7486   18    4  226   22   21  134  476\n",
      "   26  480    5  144   30 5535   18   51   36   28  224   92   25  104\n",
      "    4  226   65   16   38 1334   88   12   16  283    5   16 4472  113\n",
      "  103   32   15   16 5345   19  178   32    0    0    0    0    0    0\n",
      "    0    0    0    0    0    0    0    0    0    0    0    0    0    0\n",
      "    0    0    0    0    0    0    0    0    0    0    0    0    0    0\n",
      "    0    0    0    0    0    0    0    0    0    0    0    0    0    0\n",
      "    0    0    0    0    0    0    0    0    0    0    0    0    0    0\n",
      "    0    0    0    0    0    0    0    0    0    0    0    0    0    0\n",
      "    0    0    0    0    0    0    0    0    0    0    0    0    0    0\n",
      "    0    0    0    0    0    0    0    0    0    0    0    0    0    0\n",
      "    0    0    0    0    0    0    0    0    0    0    0    0    0    0\n",
      "    0    0    0    0    0    0    0    0    0    0    0    0    0    0\n",
      "    0    0    0    0    0    0    0    0    0    0    0    0    0    0\n",
      "    0    0    0    0    0    0    0    0    0    0    0    0    0    0\n",
      "    0    0    0    0    0    0    0    0    0    0    0    0    0    0\n",
      "    0    0    0    0    0    0    0    0    0    0    0    0    0    0\n",
      "    0    0    0    0    0    0    0    0    0    0    0    0    0    0\n",
      "    0    0    0    0    0    0    0    0    0    0    0    0    0    0\n",
      "    0    0    0    0    0    0    0    0    0    0    0    0    0    0\n",
      "    0    0    0    0    0    0    0    0    0    0    0    0    0    0\n",
      "    0    0    0    0    0    0    0    0    0    0    0    0    0    0\n",
      "    0    0    0    0    0    0    0    0    0    0    0    0    0    0\n",
      "    0    0    0    0    0    0    0    0    0    0]\n"
     ]
    }
   ],
   "source": [
    "# padding\n",
    "max_length = 500\n",
    "\n",
    "train_data = keras.preprocessing.sequence.pad_sequences(\n",
    "    train_data, value = word_index['<PAD>'], padding = 'post', maxlen = max_length)\n",
    "\n",
    "test_data = keras.preprocessing.sequence.pad_sequences(\n",
    "    test_data, value = word_index['<PAD>'], padding = 'post', maxlen = max_length)\n",
    "\n",
    "print(train_data[0])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 模型构建"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Model: \"sequential\"\n",
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "embedding (Embedding)        (None, 500, 16)           160000    \n",
      "_________________________________________________________________\n",
      "simple_rnn (SimpleRNN)       (None, 64)                5184      \n",
      "_________________________________________________________________\n",
      "dense (Dense)                (None, 64)                4160      \n",
      "_________________________________________________________________\n",
      "dense_1 (Dense)              (None, 1)                 65        \n",
      "=================================================================\n",
      "Total params: 169,409\n",
      "Trainable params: 169,409\n",
      "Non-trainable params: 0\n",
      "_________________________________________________________________\n"
     ]
    }
   ],
   "source": [
    "embedding_dim = 16 # 每个词Embedding成长度为16的向量\n",
    "batch_size = 128\n",
    "\n",
    "single_rnn_model = keras.models.Sequential([\n",
    "    keras.layers.Embedding(vocab_size, embedding_dim, input_length = max_length),\n",
    "    keras.layers.SimpleRNN(units=64, return_sequences=False),\n",
    "    keras.layers.Dense(64, activation = 'relu'),\n",
    "    keras.layers.Dense(1, activation = 'sigmoid'),\n",
    "])\n",
    "single_rnn_model.summary()\n",
    "single_rnn_model.compile(optimizer = 'adam',\n",
    "                         loss = 'binary_crossentropy', metrics = ['accuracy'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train on 20000 samples, validate on 5000 samples\n",
      "Epoch 1/30\n",
      "20000/20000 [==============================] - 50s 2ms/sample - loss: 0.6900 - accuracy: 0.5039 - val_loss: 0.6932 - val_accuracy: 0.4992\n",
      "Epoch 2/30\n",
      "20000/20000 [==============================] - 50s 2ms/sample - loss: 0.6794 - accuracy: 0.5235 - val_loss: 0.6967 - val_accuracy: 0.5128\n",
      "Epoch 3/30\n",
      "20000/20000 [==============================] - 50s 3ms/sample - loss: 0.6561 - accuracy: 0.5396 - val_loss: 0.7056 - val_accuracy: 0.5070\n",
      "Epoch 4/30\n",
      "20000/20000 [==============================] - 49s 2ms/sample - loss: 0.6416 - accuracy: 0.5429 - val_loss: 0.7269 - val_accuracy: 0.5110\n",
      "Epoch 5/30\n",
      "20000/20000 [==============================] - 49s 2ms/sample - loss: 0.6459 - accuracy: 0.5406 - val_loss: 0.7119 - val_accuracy: 0.5080\n",
      "Epoch 6/30\n",
      "20000/20000 [==============================] - 52s 3ms/sample - loss: 0.6393 - accuracy: 0.5401 - val_loss: 0.7442 - val_accuracy: 0.5010\n"
     ]
    }
   ],
   "source": [
    "callbacks = [\n",
    "#     keras.callbacks.TensorBoard(log_dir=logdir,profile_batch = 100000000),\n",
    "#     keras.callbacks.ModelCheckpoint(output_model_file,save_best_only=True),\n",
    "    keras.callbacks.EarlyStopping(patience=5, min_delta=1e-3),\n",
    "]\n",
    "\n",
    "# 训练\n",
    "history_single_rnn = single_rnn_model.fit(\n",
    "    train_data, train_labels, epochs = 30,batch_size = batch_size,\n",
    "    validation_split = 0.2, callbacks = callbacks)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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88038+Mf/5iTTz6ZpUuX8uEPf5i33367XEf/52Z/97vf5dprry33+8///M9cd911+z1u1fCGJ5I01vzrZ+Gt5/Zpl0k93VDYSyQcthjO+cqgm5cvX86nP/1p/vzP/xyAe+65h4ceeohrr72WadOmsWHDBk455RTOO++8AZ9wVamxsZFVq1btsd8LL7zAl7/8Zf793/+dgw8+uPx860996lOcfvrprFq1ip6eHtrb24d8xvW7777LE088ARQfCvL0008TEdx666189atf5aabbhrwudkTJkxgyZIlfPWrX6WhoYHbb7+df/qnf9rrsQ6UQS1JOmBLly5l3bp1rF27lvXr1zNz5kzmzJnDtddey5NPPkldXR1vvPEGb7/9Nocddthe+0opccMNN+yx32OPPcaFF17IwQcfDOx63vRjjz1WfsZ0oVBg+vTpQwZ13wNCANra2rj44ot588036ezsLD8/e7DnZp955pk88MADHHPMMXR1dbF48eJ9HK19Y1BL0lizlzPfweyowUM5LrzwQu69917eeustli9fzl133cX69et59tlnaWho4Mgjj9zjOdMDGWy/wZ43PZD6+np6e3vLy3t7vvUnP/lJrrvuOs477zxaW1vLl8gHO94VV1zB3/3d33H00UezYsWKquo5EL5HLUmqieXLl3P33Xdz7733cuGFF7J582YOOeQQGhoaePzxx3nttdeq6mew/ZYtW8Y999zDxo0bAcqXvpctW8Z3vvMdAHp6etiyZQuHHnoo69atY+PGjXR0dPDAAw/s9Xh9z7f+3ve+V17f99zsPn1n6SeffDKvv/46P/jBD7jkkkuqHZ79ZlBLkmri2GOPZevWrcybN485c+Zw6aWX8vOf/5wTTzyRu+66i6OPPrqqfgbb79hjj+Wv/uqvOP3002lubi5/iOvmm2/m8ccfZ/HixZxwwgk8//zzNDQ08IUvfIGTTz6Zc889d6/HvvHGG7nooov44Ac/WL6sDoM/Nxvgj//4jznttNPKl8OHk8+jHsN8hu/IcJyHn2M8NJ9HPbLOPfdcrr32WpYtWzZom1o9j9ozakmSqvTuu+/y/ve/n0mTJu01pGvJD5NJkkbFc889V/4udJ+JEyfys5/9bJQqGtqMGTN46aWXRvSYBrUkaVQsXryYX/7yl6NdRva89C1JY8RofeZIe6rl78KglqQxoLGx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\n",
      "text/plain": [
       "<Figure size 576x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeoAAAEzCAYAAAD+XEDdAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAeUklEQVR4nO3de3Bc5Z3m8efXN7VutmVJvmAZSyQgj7GwIWDIJOMokMVcNiHZZGpMCDFkwEURcqstFki2SFJTm0zi2c3M1Do4LoYhbEiAIsyGGTzJTjIoQAYYB8fGdoiNx9gg29iWjC+SLLXUeveP05Jaom0d2d3qV9L3U9XV5/L20a/fED/9nnP6bXPOCQAA+ClS7AIAAMCpEdQAAHiMoAYAwGMENQAAHiOoAQDwGEENAIDHRg1qM3vIzA6Z2bZT7Dcz+1sz22Vmr5rZJfkvEwCAqSnMiPphSdecZv+1ks7PPFZLeuDsywIAAFKIoHbOPSfpyGma3CDpERd4SdIMM5ubrwIBAJjK8nGNep6kt7LWWzPbAADAWYrl4RiWY1vOeUnNbLWC0+NKJpPvO/fcc/Pw53Eq/f39ikS4X7DQ6OfCo48Ljz4eHzt37mxzztWO5TX5COpWSfOz1usk7c/V0Dm3XtJ6SWpsbHQ7duzIw5/HqbS0tKi5ubnYZUx69HPh0ceFRx+PDzPbO9bX5OPj09OSPpu5+/sKSceccwfycFwAAKa8UUfUZvYTSc2SasysVdLXJcUlyTm3TtIGSddJ2iWpS9KthSoWAICpZtSgds7dOMp+J+nzeasIAAAMysc1agDAFNDb26vW1lZ1d3cXuxTvJZNJ1dXVKR6Pn/WxCGoAQCitra2qrKxUfX29zHJ94QeS5JxTe3u7Wltb1dDQcNbH4158AEAo3d3dqq6uJqRHYWaqrq7O25kHghoAEBohHU4++4mgBgBMGBUVFcUuYdwR1AAAeIygBgBMOM453X333Vq8eLGampr0+OOPS5IOHDig5cuXa+nSpVq8eLGef/55pdNp3XLLLYNtv/e97xW5+rHhrm8AwITz1FNPafPmzdqyZYva2tp02WWXafny5frxj3+sFStW6Gtf+5rS6bS6urq0efNm7du3T9u2bZMkHT16tMjVjw1BDQAYs2/+43b9fv/xvB5z0TnT9PWPXhiq7QsvvKAbb7xR0WhUs2fP1oc+9CFt3LhRl112mT73uc+pt7dXH//4x7V06VKdd9552r17t77whS/o+uuv19VXX53XuguNU98AgAknmBTz3ZYvX67nnntO8+bN080336xHHnlEVVVV2rJli5qbm7V27Vrddttt41zt2WFEDQAYs7Aj30JZvny5fvCDH2jVqlU6cuSInnvuOa1Zs0Z79+7VvHnzdPvtt6uzs1ObNm3Sddddp0QioU9+8pN6z3veo1tuuaWotY8VQQ0AmHA+8YlP6MUXX9SSJUtkZvrud7+rOXPm6Ic//KHWrFmjeDyuiooKPfLII9q3b59uvfVW9ff3S5K+/e1vF7n6sSGoAQATRkdHh6RgQpE1a9ZozZo1w/avWrVKq1atetfrNm3aNC71FQLXqAEA8BhBDQCAxwhqAAA8RlADAOAxghoAAI8R1AAAeIygBgDAYwQ1AGDSOt3vV+/Zs0eLFy8ex2rODEENAIDHCGoAwIRxzz336Pvf//7g+je+8Q1985vf1FVXXaVLLrlETU1N+tnPfjbm43Z3d+vWW29VU1OTLr74Yj377LOSpO3bt2vZsmVaunSpLrroIr3++uvq7OzU9ddfryVLlmjx4sWDv4VdKEwhCgAYu3++V3p7a36POadJuvYvT9tk5cqV+vKXv6w777xTkvTEE0/o5z//ub7yla9o2rRpamtr0xVXXKGPfexjMrPQf3rt2rWSpK1bt+oPf/iDrr76au3cuVPr1q3Tl770Jd10001KpVJKp9PasGGDzjnnHD3zzDOSpGPHjp3hGw6HETUAYMK4+OKLdejQIe3fv19btmxRVVWV5s6dq69+9au66KKL9JGPfET79u3TwYMHx3TcF154QTfffLMkaeHChVqwYIF27typ97///frWt76l73znO9q7d69KS0vV1NSkX/7yl7rnnnv0/PPPa/r06YV4q4MYUQMAxm6UkW8hfepTn9KTTz6pt99+WytXrtSjjz6qw4cP65VXXlE8Hld9fb26u7vHdMxT/b71pz/9aV1++eV65plntGLFCj344IO68sor9corr2jDhg267777dPXVV+v+++/Px1vLiaAGAEwoK1eu1O233662tjb9+te/1hNPPKFZs2YpHo/r2Wef1d69e8d8zOXLl+vRRx/VlVdeqZ07d+rNN99UY2Ojdu/erfPOO09f/OIXtXv3br36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\n",
      "text/plain": [
       "<Figure size 576x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "def plot_learning_curves(history, label, epochs, min_value, max_value):\n",
    "    data = {}\n",
    "    data[label] = history.history[label]\n",
    "    data['val_'+label] = history.history['val_'+label]\n",
    "    pd.DataFrame(data).plot(figsize=(8, 5))\n",
    "    plt.grid(True)\n",
    "    plt.axis([0, epochs, min_value, max_value])\n",
    "    plt.show()\n",
    "    \n",
    "plot_learning_curves(history_single_rnn, 'accuracy', 10, 0, 1)\n",
    "plot_learning_curves(history_single_rnn, 'loss', 10, 0, 1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "single_rnn_model.evaluate(test_data, test_labels, batch_size = batch_size)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 模型改进：多层双向RNN"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Model: \"sequential_1\"\n",
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "embedding_1 (Embedding)      (None, 500, 16)           160000    \n",
      "_________________________________________________________________\n",
      "bidirectional (Bidirectional (None, 500, 128)          10368     \n",
      "_________________________________________________________________\n",
      "bidirectional_1 (Bidirection (None, 128)               24704     \n",
      "_________________________________________________________________\n",
      "dense_2 (Dense)              (None, 64)                8256      \n",
      "_________________________________________________________________\n",
      "dense_3 (Dense)              (None, 1)                 65        \n",
      "=================================================================\n",
      "Total params: 203,393\n",
      "Trainable params: 203,393\n",
      "Non-trainable params: 0\n",
      "_________________________________________________________________\n"
     ]
    }
   ],
   "source": [
    "embedding_dim = 16 # 每个词Embedding成长度为16的向量\n",
    "batch_size = 128\n",
    "\n",
    "rnn_model = keras.models.Sequential([\n",
    "    keras.layers.Embedding(vocab_size, embedding_dim, input_length = max_length),\n",
    "    keras.layers.Bidirectional(keras.layers.SimpleRNN(units=64, return_sequences=True)),\n",
    "    keras.layers.Bidirectional(keras.layers.SimpleRNN(units=64, return_sequences=False)),\n",
    "    keras.layers.Dense(64, activation = 'relu'),\n",
    "    keras.layers.Dense(1, activation = 'sigmoid'),\n",
    "])\n",
    "rnn_model.summary()\n",
    "rnn_model.compile(optimizer = 'adam', loss = 'binary_crossentropy', metrics = ['accuracy'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train on 20000 samples, validate on 5000 samples\n",
      "Epoch 1/30\n",
      "20000/20000 [==============================] - 219s 11ms/sample - loss: 0.6998 - accuracy: 0.4974 - val_loss: 0.6918 - val_accuracy: 0.5170\n",
      "Epoch 2/30\n",
      "20000/20000 [==============================] - 215s 11ms/sample - loss: 0.6507 - accuracy: 0.6105 - val_loss: 0.5681 - val_accuracy: 0.7308\n",
      "Epoch 3/30\n",
      "20000/20000 [==============================] - 216s 11ms/sample - loss: 0.5534 - accuracy: 0.7270 - val_loss: 0.4912 - val_accuracy: 0.7826\n",
      "Epoch 4/30\n",
      "20000/20000 [==============================] - 204s 10ms/sample - loss: 0.4965 - accuracy: 0.7726 - val_loss: 0.6554 - val_accuracy: 0.6634\n",
      "Epoch 5/30\n",
      "20000/20000 [==============================] - 209s 10ms/sample - loss: 0.5938 - accuracy: 0.6508 - val_loss: 0.7019 - val_accuracy: 0.4928\n",
      "Epoch 6/30\n",
      "20000/20000 [==============================] - 209s 10ms/sample - loss: 0.7038 - accuracy: 0.5017 - val_loss: 0.6980 - val_accuracy: 0.4980\n",
      "Epoch 7/30\n",
      "20000/20000 [==============================] - 209s 10ms/sample - loss: 0.6934 - accuracy: 0.5056 - val_loss: 0.6933 - val_accuracy: 0.5020\n",
      "Epoch 8/30\n",
      "20000/20000 [==============================] - 207s 10ms/sample - loss: 0.6924 - accuracy: 0.5066 - val_loss: 0.6916 - val_accuracy: 0.5076\n"
     ]
    }
   ],
   "source": [
    "callbacks = [keras.callbacks.EarlyStopping(patience=5, min_delta=1e-3)]\n",
    "\n",
    "# 训练\n",
    "history_rnn = rnn_model.fit(\n",
    "    train_data, train_labels, epochs = 30,batch_size = batch_size,\n",
    "    validation_split = 0.2, callbacks = callbacks)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeoAAAEzCAYAAAD+XEDdAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nO3deXxU1f3/8deZJQkQdpJAEpawBwj7KlsEZBEBd0FFxQWprVtbq9ZvXWqrVdpaFxSpWqVaRalUNvEnS1jVIkjYl8gatrDLFrKd3x930EhBJjDJ3CTv5+Mxj8zcOXPnwzHmPefcO+caay0iIiLiTp5wFyAiIiLnpqAWERFxMQW1iIiIiymoRUREXExBLSIi4mIKahERERc7b1AbY94yxmQZY1af43ljjHnJGJNhjFlpjGkf+jJFRETKp2BG1G8DA3/i+UFAk8BtNPDaxZclIiIiEERQW2sXAAd/oskwYKJ1fAlUM8bUCVWBIiIi5VkojlEnADsKPc4MbBMREZGL5AvBPsxZtp11XVJjzGic6XGioqI61KtXLwRvL+dSUFCAx6PzBYub+rn4qY+Ln/q4ZGzcuHG/tTamKK8JRVBnAnULPU4Edp2tobV2AjABoFmzZnbDhg0heHs5l7S0NFJTU8NdRpmnfi5+6uPipz4uGcaYbUV9TSg+Pk0Fbgmc/d0VOGKt3R2C/YqIiJR75x1RG2PeB1KBWsaYTOAJwA9grR0PzAQuBzKAE8Co4ipWRESkvDlvUFtrR5zneQv8PGQViYiIyPdCcYxaRETKgdzcXDIzM8nOzg53Ka4XFRVFYmIifr//oveloBYRkaBkZmZSuXJlGjRogDFn+8KPAFhrOXDgAJmZmSQlJV30/nQuvoiIBCU7O5uaNWsqpM/DGEPNmjVDNvOgoBYRkaAppIMTyn5SUIuISKkRHR0d7hJKnIJaRETExRTUIiJS6lhreeihh2jVqhUpKSlMmjQJgN27d9OrVy/atm1Lq1atWLhwIfn5+dx2223ft33hhRfCXH3R6KxvEREpdT7++GNWrFhBeno6+/fvp1OnTvTq1Yt//etfDBgwgMcee4z8/HxOnDjBihUr2LlzJ6tXrwbg8OHDYa6+aBTUIiJSZE9NW8PaXd+FdJ8t4qvwxJCWQbVdtGgRI0aMwOv1EhcXR+/evVm6dCmdOnXi9ttvJzc3lyuvvJK2bdvSsGFDNm/ezL333svgwYPp379/SOsubpr6FhGRUsdZFPN/9erViwULFpCQkMDIkSOZOHEi1atXJz09ndTUVMaNG8edd95ZwtVeHI2oRUSkyIId+RaXXr168frrr3Prrbdy8OBBFixYwNixY9m2bRsJCQncddddHD9+nOXLl3P55ZcTERHBNddcQ6NGjbjtttvCWntRKahFRKTUueqqq/jiiy9o06YNxhief/55ateuzTvvvMPYsWPx+/1ER0czceJEdu7cyahRoygoKADg2WefDXP1RaOgFhGRUuPYsWOAs6DI2LFjGTt27I+ev/XWW7n11lv/53XLly8vkfqKg45Ri4iIuJiCWkRExMUU1CIiIi6moBYREXExBbWIiIiLKahFRERcTEEtIiLiYgpqEREps37q+tVbt26lVatWJVjNhVFQi4iIuJiCWkRESo2HH36YV1999fvHTz75JE899RR9+/alffv2pKSk8MknnxR5v9nZ2YwaNYqUlBTatWvHvHnzAFizZg2dO3embdu2tG7dmk2bNnH8+HEGDx5MmzZtaNWq1ffXwi4uWkJURESK7tNHYM+q0O6zdgoM+tNPNhk+fDgPPPAA99xzDwAffvghs2bN4sEHH6RKlSrs37+frl27MnToUIwxQb/1uHHjAFi1ahXr16+nf//+bNy4kfHjx3P//fdz0003kZOTQ35+PjNnziQ+Pp4ZM2YAcOTIkQv8BwdHI2oRESk12rVrR1ZWFrt27SI9PZ3q1atTp04dfvvb39K6dWv69evHzp072bt3b5H2u2jRIkaOHAlA8+bNqV+/Phs3bqRbt24888wzPPfcc2zbto0KFSqQkpLC7Nmzefjhh1m4cCFVq1Ytjn/q9zSiFhGRojvPyLc4XXvttUyePJk9e/YwfPhw3nvvPfbt28eyZcvw+/00aNCA7OzsIu3zXNe3vvHGG+nSpQszZsxgwIABvPHGG/Tp04dly5Yxc+ZMHn30Ufr378/jjz8ein/aWSmoRUSkVBk+fDh33XUX+/fvZ/78+Xz44YfExsbi9/uZN28e27ZtK/I+e/XqxXvvvUefPn3YuHEj27dvp1mzZmzevJmGDRty3333sXnzZlauXEnz5s2pUaMGN998M9HR0bz99tuh/0cWoqAWEZFSpWXLlhw9epSEhATq1KnDTTfd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\n",
      "text/plain": [
       "<Figure size 576x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_learning_curves(history_rnn, 'accuracy', 10, 0, 1)\n",
    "plot_learning_curves(history_rnn, 'loss', 10, 0, 1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "scrolled": true
   },
   "outputs": [],
   "source": [
    "rnn_model.evaluate(test_data, test_labels, batch_size = batch_size)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 模型改进：单层双向RNN"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Model: \"sequential\"\n",
      "_________________________________________________________________\n",
      "Layer (type)                 Output Shape              Param #   \n",
      "=================================================================\n",
      "embedding (Embedding)        (None, 500, 16)           160000    \n",
      "_________________________________________________________________\n",
      "bidirectional (Bidirectional (None, 64)                3136      \n",
      "_________________________________________________________________\n",
      "dense (Dense)                (None, 32)                2080      \n",
      "_________________________________________________________________\n",
      "dense_1 (Dense)              (None, 1)                 33        \n",
      "=================================================================\n",
      "Total params: 165,249\n",
      "Trainable params: 165,249\n",
      "Non-trainable params: 0\n",
      "_________________________________________________________________\n"
     ]
    }
   ],
   "source": [
    "embedding_dim = 16 # 每个词Embedding成长度为16的向量\n",
    "batch_size = 128\n",
    "\n",
    "bi_rnn_model = keras.models.Sequential([\n",
    "    keras.layers.Embedding(vocab_size, embedding_dim, input_length = max_length),\n",
    "    keras.layers.Bidirectional(keras.layers.SimpleRNN(units=32, return_sequences=False)),\n",
    "    keras.layers.Dense(32, activation = 'relu'),\n",
    "    keras.layers.Dense(1, activation = 'sigmoid'),\n",
    "])\n",
    "bi_rnn_model.summary()\n",
    "bi_rnn_model.compile(optimizer = 'adam', loss = 'binary_crossentropy', metrics = ['accuracy'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Train on 20000 samples, validate on 5000 samples\n",
      "Epoch 1/30\n",
      "20000/20000 [==============================] - 109s 5ms/sample - loss: 0.6925 - accuracy: 0.5145 - val_loss: 0.6927 - val_accuracy: 0.5152\n",
      "Epoch 2/30\n",
      "20000/20000 [==============================] - 109s 5ms/sample - loss: 0.6425 - accuracy: 0.6307 - val_loss: 0.4853 - val_accuracy: 0.7854\n",
      "Epoch 3/30\n",
      "20000/20000 [==============================] - 107s 5ms/sample - loss: 0.3953 - accuracy: 0.8249 - val_loss: 0.6731 - val_accuracy: 0.6438\n",
      "Epoch 4/30\n",
      "20000/20000 [==============================] - 104s 5ms/sample - loss: 0.2052 - accuracy: 0.9222 - val_loss: 0.5846 - val_accuracy: 0.7888\n",
      "Epoch 5/30\n",
      "20000/20000 [==============================] - 106s 5ms/sample - loss: 0.0686 - accuracy: 0.9791 - val_loss: 0.8638 - val_accuracy: 0.7566\n",
      "Epoch 6/30\n",
      "20000/20000 [==============================] - 105s 5ms/sample - loss: 0.0181 - accuracy: 0.9959 - val_loss: 0.9273 - val_accuracy: 0.7660\n",
      "Epoch 7/30\n",
      "20000/20000 [==============================] - 104s 5ms/sample - loss: 0.0044 - accuracy: 0.9996 - val_loss: 1.1725 - val_accuracy: 0.7378\n"
     ]
    }
   ],
   "source": [
    "callbacks = [keras.callbacks.EarlyStopping(patience=5, min_delta=1e-3)]\n",
    "\n",
    "# 训练\n",
    "history_bi_rnn = bi_rnn_model.fit(\n",
    "    train_data, train_labels, epochs = 30, batch_size = batch_size,\n",
    "    validation_split = 0.2, callbacks = callbacks)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 576x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "def plot_learning_curves(history, label, epochs, min_value, max_value):\n",
    "    data = {}\n",
    "    data[label] = history.history[label]\n",
    "    data['val_'+label] = history.history['val_'+label]\n",
    "    pd.DataFrame(data).plot(figsize=(8, 5))\n",
    "    plt.grid(True)\n",
    "    plt.axis([0, epochs, min_value, max_value])\n",
    "    plt.show()\n",
    "\n",
    "plot_learning_curves(history_bi_rnn, 'accuracy', 10, 0, 1)\n",
    "plot_learning_curves(history_bi_rnn, 'loss', 10, 0, 1.3)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "25000/1 [================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================] - 19s 745us/sample - loss: 1.0524 - accuracy: 0.7213\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "[1.2352355475234986, 0.72132]"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "bi_rnn_model.evaluate(test_data, test_labels, batch_size = batch_size)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
